package com.alex.forumgen;

import java.io.File;
import java.io.StringWriter;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Properties;

import org.apache.commons.io.FileUtils;
import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.Velocity;
import org.apache.velocity.runtime.RuntimeConstants;
import org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader;

public class ForumGen {
	
	static {
		Properties props = new Properties();
		props.setProperty(RuntimeConstants.RESOURCE_LOADER, "classpath"); 
		props.setProperty("classpath.resource.loader.class", ClasspathResourceLoader.class.getName());
		
		props.setProperty(RuntimeConstants.INPUT_ENCODING, "utf-8");
		props.setProperty(RuntimeConstants.OUTPUT_ENCODING, "utf-8");
		
		Velocity.init(props);
	}

	public static void main(String[] args) throws Exception {
		User user1 = new User("love_sex", "20 окт 2010, 03:32", "index_files/10030000.gif", 34);
		User user2 = new User("Tzachitx", "07 авг 2010, 14:02", "index_files/file0000.gif", 162);
		User user3 = new User("Cardinal", "17 мар 2011, 17:50", "index_files/12953000.gif", 15);
		User admin = new User("Admin", "5 дек 2008, 11:12", "index_files/12127.gif", 981);
		
		User nub1 = new User("Seamen", "20 дек 2011, 16:58", null, 3);
		User nub2 = new User("mangust", "12 ноя 2011, 18:18", null, 10);
		User nub3 = new User("bga37", "01 дек 2011, 01:11", null, 5);
		
		String mainTitle = "Просто охуенный сайт знакомств!!!";
		String reTitle = "Re: " + mainTitle;
		
		Collection<Message> messages = new ArrayList<Message>();
		
		messages.add(new Message(
				mainTitle,
				"зарегистрировался на одном сайте , ожидал что как обычно развод, но потом...там столько девочек (мммм),я был просто в шоке,пообщался и в тот же день познакомился с девушкой(фото просто супер,такая грудь)))в реале оказалась еще лучше,в ту же ночь у нас был ошеломляющий секс))))))) надеюсь ,что все так и будет происходить дальше))))))",
				user1,
				"05 янв 2012, 13:32"
			));
		
		messages.add(new Message(
				reTitle,
				"что действительно???все так просто????а че за сайт???",
				user2,
				"05 янв 2012, 18:56"
			));
		
		messages.add(new Message(
				reTitle,
				"<a href=\"http://mahentohen.com/dating/\">вот ссылка</a><br />отвечаю)))не пожалеешь)))у меня до сих пор все болит))))но приятно болит)))",
				user1,
				"05 янв 2012, 19:21"
			));
		
		messages.add(new Message(
				reTitle,
				"так охота девочку....да еще и фигуристую....будем пробовать!а сайт платный?",
				user2,
				"05 янв 2012, 19:30"
			));
		
		messages.add(new Message(
				reTitle,
				"все бесплатно,просто надо получить смс с кодом на свой номер,и все.",
				user1,
				"05 янв 2012, 19:51"
			));
		
		messages.add(new Message(
				reTitle,
				"а зачем телефон, если сайт бесплатный?",
				user2,
				"05 янв 2012, 20:03"
			));
		
		messages.add(new Message(
				reTitle,
				"это что бы подтвердить,что ты реальный пользователь.то же что и в контакте.и если вдруг забудешь пароль к сайту ,то они присылают смс с паролем.",
				user1,
				"05 янв 2012, 21:05"
			));
		
		messages.add(new Message(
				reTitle,
				"пацаны советую,я уже с 3-мя кувыркался в постели )))))девки просто афигительные,  и что самое главное,что не надо ничего платить))",
				user3,
				"08 янв 2012, 14:24"
			));
		
		messages.add(new Message(
				reTitle,
				"что-то слабо вериться, что бесплатно...",
				admin,
				"08 янв 2012, 16:12"
			));
		
		messages.add(new Message(
				reTitle,
				"я тоже не верил,думал,что очередной раз просру все деньги на телефоне,но все-таки рискнул,и блин... бесплатно.",
				user3,
				"08 янв 2012, 17:41"
			));
		
		messages.add(new Message(
				reTitle,
				"а кто еще регистрировался??? Напишите отзывы",
				admin,
				"08 янв 2012, 20:19"
			));
		
		messages.add(new Message(
				reTitle,
				"я очень доволен)))малышки там просто супер)",
				nub1,
				"09 янв 2012, 12:30"
			));
		
		messages.add(new Message(
				reTitle,
				"бесплатно)))я сам охренел,когда зарегистрировался",
				nub2,
				"10 янв 2012, 10:02"
			));
		
		messages.add(new Message(
				reTitle,
				"там такая ларочка)))) она так в рот берет, по самые яйца",
				nub3,
				"11 янв 2012, 22:29"
			));
		
		
		String page = genForum("love1", mainTitle, messages);
		FileUtils.writeStringToFile(new File("/home/alex/Desktop/forums/2/index.html"), page);
	}

	private static String genForum(String templateName, String title, Collection<Message> messages) {
		VelocityContext context = new VelocityContext();
		context.put("title", title);
		context.put("messages", messages);
		context.put("template", templateName);
		Template template = Velocity.getTemplate(templateName + "/index.vm");
		
		StringWriter writer = new StringWriter();
		
		template.process();
		template.merge(context, writer);
		
		return writer.toString();
	}

}
